#include "mousescene.h"
#include <QDebug>
#include <QRandomGenerator>

mouseScene::mouseScene()
{
    MouseItem temp;
    QRectF rect = temp.boundingRect();

    for(int i = 0; i < 16; ++i)
    {
        MouseItem *mi = new MouseItem();
        vMouseItem.append(mi);
    }

    for(int i = 0; i < 4; ++i)
    {
        for(int j = 0; j < 4; ++j)
        {
            vMouseItem[i * 4 + j]->setPos(j * rect.width(), i * rect.height());
            addItem(vMouseItem[i * 4 + j]);
        }
    }

    timer = new QTimer();
    connect(timer, SIGNAL(timeout()), this, SLOT(randomMouse()));
}

void mouseScene::setMousePause()
{
    QVector<MouseItem *>::iterator it = vMouseItem.begin();
    for(; it != vMouseItem.end(); ++it)
    {
        (*it)->setStart(false);
    }
}

void mouseScene::setMouseActive()
{
    QVector<MouseItem *>::iterator it = vMouseItem.begin();
    for(; it != vMouseItem.end(); ++it)
    {
        (*it)->setStart(true);
    }
}

void mouseScene::randomMouse()
{
    QVector<MouseItem *>::iterator it = vMouseItem.begin();
    for(; it != vMouseItem.end(); ++it)
    {
        (*it)->setOriginl();
        (*it)->setMouseStatus(false);
    }

    int i = QRandomGenerator::global()->bounded(4);
    for(int j = 0; j < i; ++j)
    {
        int k = QRandomGenerator::global()->bounded(16);
        vMouseItem[k]->setMouseUp();
        vMouseItem[k]->setMouseStatus(true);
        vMouseItem[k]->setStart(true);
    }
}

void mouseScene::addScore()
{
    qDebug() << "打了一次老鼠";
}
